/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.mindbox.mueblesalpes.presentacion.utils;

import java.text.MessageFormat;
import java.util.ResourceBundle;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

/**
 *
 * @author Jaimoto
 */
public class Mensajes {


    private static ResourceBundle mensajes;
    /**
     * Inyecta un mensaje de Error
     * @param texto
     */
    private static String getMensaje(String key, String... params){
        try {
            if (mensajes == null) {
                mensajes = ResourceBundle.getBundle("ApplicationMessages");
            }
            if (params.length == 0) {
                return mensajes.getString(key);
            } else {
                return MessageFormat.format(mensajes.getString(key), (Object[])params);
            }
        } catch (Exception e) {
            return key;
        }
    }

    public static void asignarMensajeError(String texto){
        FacesContext fc = FacesContext.getCurrentInstance();
		FacesMessage message = new FacesMessage();
		message.setSeverity(FacesMessage.SEVERITY_ERROR);
		message.setSummary(getMensaje(texto));
		fc.addMessage(null, message);
    }

    public static void asignarMensajeError(String texto, String... params){
        FacesContext fc = FacesContext.getCurrentInstance();
		FacesMessage message = new FacesMessage();
		message.setSeverity(FacesMessage.SEVERITY_ERROR);
		message.setSummary(getMensaje(texto,params));
		fc.addMessage(null, message);
    }

    /**
     * Inyecta un mensaje de Advertencia
     * @param texto
     */
    public static void asignarMensajeAdvertencia(String texto){
    	FacesContext fc = FacesContext.getCurrentInstance();
		FacesMessage message = new FacesMessage();
		message.setSeverity(FacesMessage.SEVERITY_WARN);
		message.setSummary(getMensaje(texto));
		fc.addMessage(null, message);
    }
    /**
     * Retorna un mensaje de Informaci&oacute;n
     * @param texto
     */
    public static void asignarMensajeInfo(String texto){
    	FacesContext fc = FacesContext.getCurrentInstance();
		FacesMessage message = new FacesMessage();
		message.setSeverity(FacesMessage.SEVERITY_INFO);
		message.setSummary(getMensaje(texto));
		fc.addMessage(null, message);
    }
}
